package net.tv90.business.util;

import cn.hutool.core.util.StrUtil;
import cn.hutool.jwt.JWT;
import org.springframework.stereotype.Component;

/**
 * 复制该Token工具到其他业务服务器
 */
@Component
public class TokenUtils {

    /**
     * 所有业务服务器的secretKey都应该是唯一的
     */
    String secretKey = "tv90666666";

    /**
     * 供业务服务器调用，先解析JWT令牌是否合法，如合法再请求认证服务器校验
     *
     * @param token JWT令牌
     * @return 是否合法
     */
    public boolean validToken(String token) {
        try {
            if (!StrUtil.isEmpty(token) && JWT.of(token).setKey(secretKey.getBytes()).verify()) {
                JWT jwt = JWT.of(token);
                String username = jwt.getPayload("username").toString();
                String password = jwt.getPayload("password").toString();
                if (username != null && password != null) {
                    return true;
                }
            }
        } catch (Exception e) {
            return false;
        }
        return false;
    }

}
